package cn.tedu.crm.customer.pojo.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Pattern;
import java.util.Date;
import java.util.List;

@Data
public class CustomerAddParam {

    /**
     * 客户id
     */
    private Long id;

    /**
     * 客户状态
     */
    @NotEmpty(message = "客户状态不能为空")
    private String status;

    /**
     * 客户类型
     */
    @NotEmpty(message = "客户类型不能为空")
    private String type;

    /**
     * 客户姓名
     */
    @NotEmpty(message = "客户姓名不能为空")
    private String name;

    /**
     * 性别
     */
    private String gender;

    /**
     * 年龄
     */
    private Integer age;

    /**
     * 联系电话
     */
    @NotEmpty(message = "联系电话不能为空")
    @Pattern(regexp = "^1[3-9]\\d{9}$", message = "联系电话格式错误")
    private String contactPhone;

    /**
     * 身份证号
     */
    private String idNumber;

    /**
     * 紧急电话
     */
    private String emergencyPhone;

    /**
     * 紧急联系人
     */
    private String emergencyContact;

    /**
     * 楼盘名称
     */
    @NotEmpty(message = "楼盘名称不能为空")
    private String propertyName;

    /**
     * 户型
     */
    @NotEmpty(message = "户型不能为空")
    private String houseType;

    /**
     * 面积
     */
    @NotEmpty(message = "面积不能为空")
    private String houseSize;

    /**
     * 省份
     */
    private Long province;

    /**
     * 城市
     */
    private Long city;

    /**
     * 区县
     */
    private Long district;

    /**
     * 详细地址
     */
    @NotEmpty(message = "详细地址不能为空")
    private String propertyAddr;


    /******************************************customer_follow_up ************************/

    /**
     * 客情跟进id
     */
    private Long customerId;

    /**
     * 客情描述
     */
    private String sourceRemark;

    /**
     * 客情来源
     */
    private String source;

    /**
     * 是否可量房
     */
    private String isQuantityHouse;

    /**
     * 预约量房时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date appointmentTime;

    /**
     * 实际量房时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date physicalTime;

    /**
     * 量房人
     */
    private String quantityHouseName;

    /**
     * 量房状态
     */
    private String quantityHouseStatus;

    /**
     * 量房描述
     */
    private String remark;

    /**
     * 跟单人
     */
    private String merchandiser;

    /**
     *
     *客户经理
     */
    private String manager;
    /**
     *
     *设计师
     */
    private Long designer;
    /**
     *
     *部门id
     */
    private Long depId;

    /**
     * 客情描述
     */
    private String customerDescribe;

    /**
     * 附件图片
     */
    private List<String> imgUrl;

    /**
     * 跟单结果
     */
    private String followResult;


    /**
     * 预约回访时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date reserveTime;

}